package com.yang.core.model;

import lombok.Builder;
import lombok.Data;

import java.util.Map;

/**
 * 原始响应对象
 */
@Data
@Builder
public class RawResponse {

    /**
     * 状态码
     */
    private int statusCode;

    /**
     * 响应体
     */
    private String body;

    /**
     * 响应头
     */
    private Map<String, String> headers;

    /**
     * 响应消息
     */
    private String message;

    /**
     * 协议版本
     */
    private String protocolVersion;

    /**
     * 获取响应头
     */
    public String getHeader(String name) {
        return headers != null ? headers.get(name) : null;
    }

    /**
     * 获取Content-Type
     */
    public String getContentType() {
        return getHeader("Content-Type");
    }

    /**
     * 是否成功
     */
    public boolean isSuccess() {
        return statusCode >= 200 && statusCode < 300;
    }
}